package com.swanclouds.api.updates;

import com.swanclouds.common.RestService;
import com.swanclouds.model.common.ActionResponse;
import com.swanclouds.model.updates.Update;
import com.swanclouds.model.updates.UpdateFirmware;
import com.swanclouds.redfish.common.redfish.SimpleUpdate;

/**
 * Author: HuangFuYuHui
 * Title: UpdateService
 * Description: 服务器当前升级服务
 * Date: 2022/7/27 10:41
 */
public interface UpdateService  extends RestService {

    /**
     * 查询服务器当前升级服务资源的信息。
     * @return Update
     **/
    Update get();

    /**
     * 升级服务器固件。
     * @param  simpleUpdate 升级服务器固件请求参数
     * @return  com.swanclouds.model.common.ActionResponse
     **/
    ActionResponse updateServiceSimpleUpdate(SimpleUpdate simpleUpdate);

    /**
     *  查询服务器当前升级固件任务的状态信息 华为不可用 宁畅可用
     * @return  com.swanclouds.model.updates.UpdateFirmware
     **/
    UpdateFirmware getUpdateFirmware();

    /**
     * 查询可升级固件集合资源信息服务
     * @return FirmwareInventoryService
     **/
    FirmwareInventoryService firmwareInventory();
}
